namespace NetSpell.SpellChecker.Dictionary.Affix
{
    using System;
    using System.Collections;
    using System.Collections.Generic;
    using System.Text.RegularExpressions;

    /// <summary>
    ///		Rule for expanding base words
    /// </summary>
    public class AffixRule
    {
        #region Fields

        private List<AffixEntry> _AffixEntries = new List<AffixEntry>();
        private bool _AllowCombine = false;
        private string _Name = "";

        #endregion Fields

        #region Constructors

        /// <summary>
        ///     Initializes a new instance of the class
        /// </summary>
        public AffixRule()
        {
        }

        #endregion Constructors

        #region Properties

        /// <summary>
        ///     Collection of text entries that make up this rule
        /// </summary>
        public List<AffixEntry> AffixEntries
        {
            get {return _AffixEntries;}
            set {_AffixEntries = value;}
        }

        /// <summary>
        ///     Allow combining prefix and suffix
        /// </summary>
        public bool AllowCombine
        {
            get {return _AllowCombine;}
            set {_AllowCombine = value;}
        }

        /// <summary>
        ///     Name of the Affix rule
        /// </summary>
        public string Name
        {
            get {return _Name;}
            set {_Name = value;}
        }

        #endregion Properties
    }
}